package cn.kpi.service.payassessment;

import cn.kpi.entity.attendance.AttTbBatchEntity;
import cn.kpi.entity.payassessment.*;

import java.util.List;

public interface IPayAssessmentService {

	public List<AssessRulePay> getAssessRuleList();
	public AssessRulePay getAssessRuleByCode(String mCode);
	public int UpdateAssessRuleBatch(List<AssessRulePay> list)throws Exception;

	public List<TransportationPayVoEntity> getTranPayVoEntity(String where);
	public int getTranPayVoEntityCount(String where);
	public int updateTranPayListByid(List<TransportationPayVoEntity> payVoEntities) throws Exception;
	public int updateTrancePayList(List<TransportationPayVoEntity> payVoEntities,String status) throws Exception;
	public int createTrancePayList(AttTbBatchEntity at, List<TransportationPayVoEntity> payVoEntities) throws Exception;
	public int UpdateTranAttStatus(Long orgsummaryid,int status)throws Exception;
	public int UpdateTranAttStatusBm(String orgsummaryids,int status)throws Exception;
	public int UpdateTranAttStatus(Long orgsummaryid,int status,List<TransportationPayVoEntity> payVoEntities)throws Exception;


	public List<WorkPayVoEntity> getWorkPayVoEntity(String where);
	public List<WorkSeanVoEntity> getWorkSeanPayEntiy(String where,String whereLimit,String month1,String month2,String month3,String quarter);

	public int getWorkPayVoCountEntity(String where);
	public int createWorkPayList(AttTbBatchEntity at, List<WorkPayVoEntity> payVoEntities) throws Exception;
	public int createDeptSubList(AttTbBatchEntity at, List<DeptSWPayVoEntity> payVoEntities) throws Exception;

	public int saveWorkPayList(List<WorkPayVoEntity> payVoEntities, String where) throws Exception;
	public int updateWorkPayList(List<WorkPayVoEntity> payVoEntities) throws Exception;
	public int updateWorkPayListByid(List<WorkPayVoEntity> payVoEntities)throws Exception;

	public int UpdateWorkAttStatus(Long orgsummaryid,int status)throws Exception;
	public int UpdateWorkAttStatusWhere(String where,int status)throws Exception;
	public int UpdateDeptSubAttStatus(Long orgsummaryid, int status)throws Exception;
	public int UpdateDeptSubAttStatusWhere(String where, int status)throws Exception;
	public int UpdateWorkAttStatus(Long orgsummaryid,int status,List<WorkPayVoEntity> payVoEntities)throws Exception;

	public List<DeptSWPayVoEntity> getDeptPayVoEntity(String where);
	public int getDeptPayVoEntityCount(String where);
	public int saveDeptPayList(List<DeptSWPayVoEntity> payVoEntities, String where) throws Exception;
	public int updateDeptPayList(List<DeptSWPayVoEntity> payVoEntities,String status,String Where) throws Exception;
	public int updateDeptPayList(List<DeptSWPayVoEntity> payVoEntities) throws Exception;
	public int saveDeptPay(List<DeptSWPayVoEntity> payVoEntities)throws Exception;

	public int updateallowPayList(List<AllowancePayVoEntity> allowancePayVoEntities, String yearid, String monthid) throws Exception;
	public List<AllowanceOrgPayEntity> getOrgPayListWhere(String where) throws Exception;
	public List<AllowancePayEntity> getPayListWhere(String where) throws Exception;


	public List<TUserPay> getUserPayWhere(String where) throws Exception;
	public List<UserOrgMapEntity> getUserAndOrgid(String where)throws Exception;
	public int getUserPayWhereCount(String where) throws Exception;
	public int updateUserPayList(List<TUserPay> tUserPays,String year,String month)throws Exception;
	public List<outWorkEntity> getOutWork(String where)throws Exception;

	public int saveDeptUserList(DpUserListEntity dpUserListEntities) throws Exception;
	public int updateDeptUserList(DpUserListEntity dpUserListEntities) throws Exception;
	public int deleteDeptUserList(Long id) throws Exception;
	public DpUserListEntity getDeptUser(Long id) throws Exception;
	public List<DpUserListEntity> getDetpUserList(String where) throws Exception;
	public int getDetpUserCount(String where) throws Exception;
}
